<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>hdf5_handler.f90 &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>hdf5_handler.f90
    <small>Source File</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 3.2% of total for source files.">420 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/hdf5_handler.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li class="active">hdf5_handler.f90</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-0">Modules</a></h3></div>
  <div id="mods-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/hdf5_handler.html">hdf5_handler</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html#src">hdf5_handler.f90</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div>
  <div id="allfiles-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    <div class="col-md-9" id='text'>
    
    
    <h3>This File Depends On</h3>
    
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~hdf5_handler.f90~~EfferentGraph Pages: 1 -->
<svg id="sourcefilehdf5_handlerf90EfferentGraph" width="641pt" height="137pt"
 viewBox="0.00 0.00 641.00 137.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph" class="graph" transform="scale(0.702081 0.702081) rotate(0) translate(4 191.707)">
<title>sourcefile~~hdf5_handler.f90~~EfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-191.707 909,-191.707 909,4 -4,4"/>
<!-- sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node1" class="node"><title>sourcefile~hdf5_handler.f90</title>
<polygon fill="none" stroke="black" points="905,-64.7075 811,-64.7075 811,-40.7075 905,-40.7075 905,-64.7075"/>
<text text-anchor="middle" x="858" y="-50.3075" font-family="Helvetica,sans-Serif" font-size="10.50">hdf5_handler.f90</text>
</g>
<!-- sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node2" class="node"><title>sourcefile~mpi_environment.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node2"><a xlink:href="../sourcefile/mpi_environment.f90.html" xlink:title="mpi_environment.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="584.5,-105.707 471.5,-105.707 471.5,-81.7075 584.5,-81.7075 584.5,-105.707"/>
<text text-anchor="middle" x="528" y="-91.3075" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">mpi_environment.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge15" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M584.581,-85.5035C619.027,-80.8058 664.234,-75.3366 704.5,-72.7075"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node3" class="node"><title>sourcefile~spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node3"><a xlink:href="../sourcefile/spatial_grid_descriptor.f90.html" xlink:title="spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="775,-124.707 636,-124.707 636,-100.707 775,-100.707 775,-124.707"/>
<text text-anchor="middle" x="705.5" y="-110.307" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge6" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M584.529,-99.7192C597.62,-101.136 611.822,-102.674 625.721,-104.179"/>
<polygon fill="#000000" stroke="#000000" points="625.449,-107.67 635.767,-105.266 626.202,-100.71 625.449,-107.67"/>
</g>
<!-- sourcefile~steps_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node4" class="node"><title>sourcefile~steps_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node4"><a xlink:href="../sourcefile/steps_handler.f90.html" xlink:title="steps_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="754.5,-44.7075 656.5,-44.7075 656.5,-20.7075 754.5,-20.7075 754.5,-44.7075"/>
<text text-anchor="middle" x="705.5" y="-30.3075" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">steps_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge10" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M571.984,-81.6204C581.269,-78.8351 590.999,-75.7829 600,-72.7075 616.245,-67.157 619.975,-64.8646 636,-58.7075 644.72,-55.3571 654.074,-51.7894 662.981,-48.4047"/>
<polygon fill="#000000" stroke="#000000" points="664.311,-51.6433 672.419,-44.8227 661.827,-45.0988 664.311,-51.6433"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge16" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M738.984,-100.608C750.4,-96.2951 763.296,-91.354 775,-86.7075 789.548,-80.9321 805.459,-74.3879 819.362,-68.5939"/>
<polygon fill="#000000" stroke="#000000" points="820.748,-71.8077 828.624,-64.7211 818.048,-65.3494 820.748,-71.8077"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge17" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M754.533,-39.0906C769.211,-41.0412 785.486,-43.2039 800.663,-45.2208"/>
<polygon fill="#000000" stroke="#000000" points="800.588,-48.7415 810.962,-46.5894 801.51,-41.8025 800.588,-48.7415"/>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node5" class="node"><title>sourcefile~uniform_grid_descriptor.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node5"><a xlink:href="../sourcefile/uniform_grid_descriptor.f90.html" xlink:title="uniform_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="600,-63.7075 456,-63.7075 456,-39.7075 600,-39.7075 600,-63.7075"/>
<text text-anchor="middle" x="528" y="-49.3075" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">uniform_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge18" class="edge"><title>sourcefile~uniform_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M584.974,-63.7118C619.371,-69.7663 664.387,-75.3266 704.5,-72.7075"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M706.5,-72.7075C737.773,-70.6655 772.461,-66.2061 800.646,-62.0153"/>
<polygon fill="#000000" stroke="#000000" points="801.355,-65.4479 810.718,-60.4884 800.306,-58.5269 801.355,-65.4479"/>
</g>
<!-- sourcefile~xh5for_parameters.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node6" class="node"><title>sourcefile~xh5for_parameters.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node6"><a xlink:href="../sourcefile/xh5for_parameters.f90.html" xlink:title="xh5for_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="272,-145.707 151,-145.707 151,-121.707 272,-121.707 272,-145.707"/>
<text text-anchor="middle" x="211.5" y="-131.307" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge19" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M220.767,-121.408C235.74,-100.027 269.395,-55.8838 308,-30.7075 329.662,-16.5802 338.122,-18.7724 363,-11.7075"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M365,-11.7075C434.261,7.9613 455,-11.5047 527,-11.7075"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M529,-11.7075C638.333,-12.0154 668.591,13.4122 775,-11.7075 794.499,-16.3105 814.648,-26.2994 830.093,-35.2649"/>
<polygon fill="#000000" stroke="#000000" points="828.681,-38.5002 839.054,-40.6576 832.291,-32.5025 828.681,-38.5002"/>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge7" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.254,-135.582C299.898,-135.969 333.153,-135.753 363,-133.707"/>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~steps_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge11" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~steps_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M529,-11.7075C568.211,-11.8179 612.003,-17.0502 646.034,-22.2637"/>
<polygon fill="#000000" stroke="#000000" points="645.843,-25.7767 656.266,-23.8754 646.932,-18.8619 645.843,-25.7767"/>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge14" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M365,-11.7075C387.269,-5.38342 444.874,-22.546 485.014,-36.3343"/>
<polygon fill="#000000" stroke="#000000" points="483.962,-39.6742 494.557,-39.6611 486.266,-33.0643 483.962,-39.6742"/>
</g>
<!-- sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node7" class="node"><title>sourcefile~xh5for_utils.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node7"><a xlink:href="../sourcefile/xh5for_utils.f90.html" xlink:title="xh5for_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="406.5,-105.707 321.5,-105.707 321.5,-81.7075 406.5,-81.7075 406.5,-105.707"/>
<text text-anchor="middle" x="364" y="-91.3075" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge2" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M257.655,-121.706C274.591,-117.205 293.963,-112.056 311.437,-107.412"/>
<polygon fill="#000000" stroke="#000000" points="312.708,-110.696 321.474,-104.744 310.91,-103.93 312.708,-110.696"/>
</g>
<!-- sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node10" class="node"><title>sourcefile~xh5for_metadata.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node10"><a xlink:href="../sourcefile/xh5for_metadata.f90.html" xlink:title="xh5for_metadata.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="420,-63.7075 308,-63.7075 308,-39.7075 420,-39.7075 420,-63.7075"/>
<text text-anchor="middle" x="364" y="-49.3075" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_metadata.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge5" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M229.133,-121.599C247.716,-108.429 279.008,-87.3096 308,-72.7075 311.494,-70.9474 315.174,-69.2441 318.904,-67.6201"/>
<polygon fill="#000000" stroke="#000000" points="320.313,-70.8249 328.207,-63.7588 317.63,-64.3597 320.313,-70.8249"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge4" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M406.719,-93.7075C423.33,-93.7075 442.849,-93.7075 461.275,-93.7075"/>
<polygon fill="#000000" stroke="#000000" points="461.373,-97.2076 471.373,-93.7075 461.373,-90.2076 461.373,-97.2076"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge12" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M406.719,-82.8914C426.224,-77.8347 449.738,-71.7385 470.782,-66.2825"/>
<polygon fill="#000000" stroke="#000000" points="471.767,-69.6429 480.569,-63.7452 470.01,-62.8669 471.767,-69.6429"/>
</g>
<!-- sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node8" class="node"><title>sourcefile~xdmf_utils.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node8"><a xlink:href="../sourcefile/xdmf_utils.f90.html" xlink:title="xdmf_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="251,-187.707 172,-187.707 172,-163.707 251,-163.707 251,-187.707"/>
<text text-anchor="middle" x="211.5" y="-173.307" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge8" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M248.922,-163.705C285.96,-151.833 340.943,-135.219 363,-133.707"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M365,-133.707C436.832,-128.785 455.146,-129.131 527,-133.707"/>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge3" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.081,-164.841C258.294,-162.055 265.577,-158.692 272,-154.707 290.962,-142.943 289.664,-132.426 308,-119.707 312.892,-116.314 318.297,-113.154 323.752,-110.29"/>
<polygon fill="#000000" stroke="#000000" points="325.489,-113.335 332.896,-105.759 322.382,-107.062 325.489,-113.335"/>
</g>
<!-- sourcefile~xdmf_parameters.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_node9" class="node"><title>sourcefile~xdmf_parameters.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~EfferentGraph_node9"><a xlink:href="../sourcefile/xdmf_parameters.f90.html" xlink:title="xdmf_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="115,-187.707 7.10543e-15,-187.707 7.10543e-15,-163.707 115,-163.707 115,-187.707"/>
<text text-anchor="middle" x="57.5" y="-173.307" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge1" class="edge"><title>sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M115.099,-175.707C130.461,-175.707 146.956,-175.707 161.838,-175.707"/>
<polygon fill="#000000" stroke="#000000" points="161.849,-179.208 171.849,-175.707 161.849,-172.208 161.849,-179.208"/>
</g>
<!-- sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge9" class="edge"><title>sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M403.823,-63.7078C409.49,-66.249 415.069,-69.2358 420,-72.7075 440.103,-86.8612 435.194,-101.61 456,-114.707 483.645,-132.11 494.4,-131.631 527,-133.707"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M529,-133.707C565.218,-136.014 605.427,-131.708 638.211,-126.406"/>
<polygon fill="#000000" stroke="#000000" points="638.854,-129.847 648.134,-124.735 637.692,-122.944 638.854,-129.847"/>
</g>
<!-- sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~EfferentGraph_edge13" class="edge"><title>sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~uniform_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M420.298,-51.7075C428.533,-51.7075 437.164,-51.7075 445.797,-51.7075"/>
<polygon fill="#000000" stroke="#000000" points="445.91,-55.2076 455.91,-51.7075 445.91,-48.2076 445.91,-55.2076"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilehdf5_handlerf90EfferentGraph = svgPanZoom('#sourcefilehdf5_handlerf90EfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
    
      
      <h3>Files Dependent On This One</h3>
      
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~hdf5_handler.f90~~AfferentGraph Pages: 1 -->
<svg id="sourcefilehdf5_handlerf90AfferentGraph" width="641pt" height="451pt"
 viewBox="0.00 0.00 641.00 451.33" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph" class="graph" transform="scale(0.387077 0.387077) rotate(0) translate(4 1162)">
<title>sourcefile~~hdf5_handler.f90~~AfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1162 1652,-1162 1652,4 -4,4"/>
<!-- sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node1" class="node"><title>sourcefile~hdf5_handler.f90</title>
<polygon fill="none" stroke="black" points="94,-643 -7.10543e-15,-643 -7.10543e-15,-619 94,-619 94,-643"/>
<text text-anchor="middle" x="47" y="-628.6" font-family="Helvetica,sans-Serif" font-size="10.50">hdf5_handler.f90</text>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node2" class="node"><title>sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node2"><a xlink:href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html" xlink:title="structured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="938.5,-633 711.5,-633 711.5,-609 938.5,-609 938.5,-633"/>
<text text-anchor="middle" x="825" y="-618.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge55" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M506,-620C570.452,-620.463 642.254,-620.711 701.298,-620.845"/>
<polygon fill="#000000" stroke="#000000" points="701.405,-624.345 711.413,-620.867 701.421,-617.345 701.405,-624.345"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node3" class="node"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node3"><a xlink:href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html" xlink:title="unstructured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="944.5,-591 705.5,-591 705.5,-567 944.5,-567 944.5,-591"/>
<text text-anchor="middle" x="825" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge56" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M233,-599C352.524,-581.45 383.198,-619.133 504,-620"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M506,-620C528.02,-620.158 644.312,-604.456 729.923,-592.441"/>
<polygon fill="#000000" stroke="#000000" points="730.525,-595.891 739.94,-591.032 729.55,-588.959 730.525,-595.891"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node4" class="node"><title>sourcefile~xh5for_abstract_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node4"><a xlink:href="../sourcefile/xh5for_abstract_factory.f90.html" xlink:title="xh5for_abstract_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="576.5,-591 433.5,-591 433.5,-567 576.5,-567 576.5,-591"/>
<text text-anchor="middle" x="505" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_abstract_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge57" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M233,-599C296.473,-589.68 368.98,-584.618 423.014,-581.921"/>
<polygon fill="#000000" stroke="#000000" points="423.404,-585.406 433.224,-581.428 423.067,-578.414 423.404,-585.406"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node5" class="node"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node5"><a xlink:href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="334,-673 130,-673 130,-649 334,-649 334,-673"/>
<text text-anchor="middle" x="232" y="-658.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge58" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M94.1786,-638.57C110.514,-641.248 129.427,-644.349 147.881,-647.374"/>
<polygon fill="#000000" stroke="#000000" points="147.335,-650.831 157.769,-648.995 148.467,-643.923 147.335,-650.831"/>
</g>
<!-- sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node6" class="node"><title>sourcefile~xh5for_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node6"><a xlink:href="../sourcefile/xh5for_handler.f90.html" xlink:title="xh5for_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1248,-591 1145,-591 1145,-567 1248,-567 1248,-591"/>
<text text-anchor="middle" x="1196.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge59" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M64.1933,-643.003C80.2061,-654.395 105.76,-671.319 130,-682 287.99,-751.619 331.351,-787 504,-787 504,-787 504,-787 826,-787 892.318,-787 913.366,-794.862 974,-768 1064.18,-728.047 1145.57,-639.201 1179.18,-599.203"/>
<polygon fill="#000000" stroke="#000000" points="1181.92,-601.377 1185.61,-591.445 1176.53,-596.909 1181.92,-601.377"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node7" class="node"><title>sourcefile~hdf5_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node7"><a xlink:href="../sourcefile/hdf5_dataset_per_process_handler.f90.html" xlink:title="hdf5_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="332,-460 132,-460 132,-436 332,-436 332,-460"/>
<text text-anchor="middle" x="232" y="-445.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge60" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M60.0071,-618.993C90.8895,-588.111 173.308,-505.692 211.309,-467.691"/>
<polygon fill="#000000" stroke="#000000" points="214.112,-469.837 218.709,-460.291 209.163,-464.888 214.112,-469.837"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node8" class="node"><title>sourcefile~unstructured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node8"><a xlink:href="../sourcefile/unstructured_dataset_per_process_factory.f90.html" xlink:title="unstructured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="942.5,-511 707.5,-511 707.5,-487 942.5,-487 942.5,-511"/>
<text text-anchor="middle" x="825" y="-496.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge61" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M506,-499C568.039,-485.885 638.42,-484.539 697.17,-487.04"/>
<polygon fill="#000000" stroke="#000000" points="697.093,-490.54 707.246,-487.511 697.42,-483.548 697.093,-490.54"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node9" class="node"><title>sourcefile~structured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node9"><a xlink:href="../sourcefile/structured_dataset_per_process_factory.f90.html" xlink:title="structured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="936.5,-469 713.5,-469 713.5,-445 936.5,-445 936.5,-469"/>
<text text-anchor="middle" x="825" y="-454.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge62" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M94.1419,-622.212C131.077,-615.352 184.251,-605.864 231,-599"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M233,-599C360.021,-580.35 378.393,-525.553 504,-499"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M506,-499C570.509,-485.363 643.37,-475.356 703.058,-468.539"/>
<polygon fill="#000000" stroke="#000000" points="703.735,-471.985 713.28,-467.388 702.951,-465.029 703.735,-471.985"/>
</g>
<!-- sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node10" class="node"><title>sourcefile~xh5for_factory.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node10"><a xlink:href="../sourcefile/xh5for_factory.f90.html" xlink:title="xh5for_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1109,-591 1010,-591 1010,-567 1109,-567 1109,-591"/>
<text text-anchor="middle" x="1059.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge2" class="edge"><title>sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M920.986,-608.995C938.662,-606.344 956.933,-603.323 974,-600 983.682,-598.115 993.918,-595.827 1003.8,-593.463"/>
<polygon fill="#000000" stroke="#000000" points="1004.64,-596.861 1013.52,-591.087 1002.98,-590.061 1004.64,-596.861"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge3" class="edge"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M944.634,-579C963.732,-579 982.745,-579 999.608,-579"/>
<polygon fill="#000000" stroke="#000000" points="999.812,-582.5 1009.81,-579 999.812,-575.5 999.812,-582.5"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge4" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M576.575,-588.321C619.623,-594.007 675.352,-601.367 723.019,-607.663"/>
<polygon fill="#000000" stroke="#000000" points="722.688,-611.149 733.06,-608.989 723.605,-604.21 722.688,-611.149"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge5" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M576.575,-579C611.408,-579 654.543,-579 694.992,-579"/>
<polygon fill="#000000" stroke="#000000" points="695.211,-582.5 705.211,-579 695.211,-575.5 695.211,-582.5"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge7" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M569.666,-566.977C633.659,-555.841 735.266,-540.743 824,-539"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M826,-539C952.037,-536.525 984.404,-538.837 1109,-558 1119.88,-559.673 1131.39,-562.039 1142.35,-564.585"/>
<polygon fill="#000000" stroke="#000000" points="1141.69,-568.024 1152.23,-566.958 1143.32,-561.218 1141.69,-568.024"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge6" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M539.489,-566.898C573.505,-554.953 627.881,-536.813 676,-525 694.662,-520.419 714.838,-516.321 734.111,-512.808"/>
<polygon fill="#000000" stroke="#000000" points="734.866,-516.229 744.095,-511.025 733.635,-509.338 734.866,-516.229"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge8" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M537.052,-566.995C565.234,-555.357 607.263,-536.1 640,-513 658.233,-500.134 655.966,-487.829 676,-478 684.737,-473.713 694.09,-470.232 703.691,-467.412"/>
<polygon fill="#000000" stroke="#000000" points="704.616,-470.787 713.361,-464.807 702.795,-464.028 704.616,-470.787"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge9" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M826,-539C888.948,-537.764 960.131,-552.435 1006.96,-564.355"/>
<polygon fill="#000000" stroke="#000000" points="1006.31,-567.801 1016.86,-566.927 1008.07,-561.026 1006.31,-567.801"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node11" class="node"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node11"><a xlink:href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_structured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="634,-716 376,-716 376,-692 634,-692 634,-716"/>
<text text-anchor="middle" x="505" y="-701.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge15" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M308.849,-673.035C342.768,-678.417 382.917,-684.788 417.954,-690.347"/>
<polygon fill="#000000" stroke="#000000" points="417.744,-693.857 428.169,-691.968 418.841,-686.944 417.744,-693.857"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node12" class="node"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node12"><a xlink:href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_unstructured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="640,-673 370,-673 370,-649 640,-649 640,-673"/>
<text text-anchor="middle" x="505" y="-658.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge16" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M334.296,-661C342.616,-661 351.121,-661 359.672,-661"/>
<polygon fill="#000000" stroke="#000000" points="359.724,-664.5 369.724,-661 359.724,-657.5 359.724,-664.5"/>
</g>
<!-- sourcefile~xh5for.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node16" class="node"><title>sourcefile~xh5for.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node16"><a xlink:href="../sourcefile/xh5for.f90.html" xlink:title="xh5for.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1345,-591 1284,-591 1284,-567 1345,-567 1345,-591"/>
<text text-anchor="middle" x="1314.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge45" class="edge"><title>sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1248.04,-579C1256.63,-579 1265.43,-579 1273.69,-579"/>
<polygon fill="#000000" stroke="#000000" points="1273.81,-582.5 1283.81,-579 1273.81,-575.5 1273.81,-582.5"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node45" class="node"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node45"><a xlink:href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html" xlink:title="hdf5_structured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="632,-396 378,-396 378,-372 632,-372 632,-396"/>
<text text-anchor="middle" x="505" y="-381.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge51" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M283.973,-435.962C329.063,-425.314 394.945,-409.755 442.858,-398.439"/>
<polygon fill="#000000" stroke="#000000" points="443.868,-401.797 452.796,-396.093 442.259,-394.985 443.868,-401.797"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node46" class="node"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node46"><a xlink:href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html" xlink:title="hdf5_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="638,-460 372,-460 372,-436 638,-436 638,-460"/>
<text text-anchor="middle" x="505" y="-445.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge52" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M332.372,-448C341.901,-448 351.688,-448 361.525,-448"/>
<polygon fill="#000000" stroke="#000000" points="361.784,-451.5 371.784,-448 361.784,-444.5 361.784,-451.5"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge53" class="edge"><title>sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M926.195,-511.054C942.475,-514.581 958.928,-519.132 974,-525 996.313,-533.687 1019.04,-548.625 1035.3,-560.591"/>
<polygon fill="#000000" stroke="#000000" points="1033.53,-563.642 1043.62,-566.874 1037.75,-558.055 1033.53,-563.642"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge54" class="edge"><title>sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M936.853,-463.557C949.852,-466.957 962.546,-471.63 974,-478 1007.54,-496.653 1033.43,-534.273 1047.28,-557.964"/>
<polygon fill="#000000" stroke="#000000" points="1044.34,-559.887 1052.3,-566.877 1050.44,-556.448 1044.34,-559.887"/>
</g>
<!-- sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge1" class="edge"><title>sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1109.24,-579C1117.4,-579 1125.96,-579 1134.38,-579"/>
<polygon fill="#000000" stroke="#000000" points="1134.56,-582.5 1144.56,-579 1134.56,-575.5 1134.56,-582.5"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge10" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M616.984,-691.971C624.995,-689.246 632.76,-685.958 640,-682 660.986,-670.526 654.891,-653.245 676,-642 684.074,-637.699 692.73,-634.184 701.656,-631.321"/>
<polygon fill="#000000" stroke="#000000" points="702.816,-634.628 711.432,-628.463 700.852,-627.91 702.816,-634.628"/>
</g>
<!-- sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node13" class="node"><title>sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node13"><a xlink:href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_regular_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="961,-759 689,-759 689,-735 961,-735 961,-759"/>
<text text-anchor="middle" x="825" y="-744.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge11" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M595.004,-716.035C635.403,-721.498 683.335,-727.979 724.88,-733.597"/>
<polygon fill="#000000" stroke="#000000" points="724.639,-737.096 735.018,-734.968 725.577,-730.159 724.639,-737.096"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node14" class="node"><title>sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node14"><a xlink:href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="967.5,-717 682.5,-717 682.5,-693 967.5,-693 967.5,-717"/>
<text text-anchor="middle" x="825" y="-702.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge12" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M634.426,-704.404C646.872,-704.443 659.577,-704.483 672.221,-704.523"/>
<polygon fill="#000000" stroke="#000000" points="672.331,-708.023 682.342,-704.555 672.353,-701.023 672.331,-708.023"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge14" class="edge"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M600.194,-648.985C613.981,-645.26 627.672,-640.384 640,-634 659.543,-623.88 656.173,-609.551 676,-600 682.205,-597.011 688.714,-594.416 695.397,-592.166"/>
<polygon fill="#000000" stroke="#000000" points="696.776,-595.403 705.299,-589.109 694.712,-588.715 696.776,-595.403"/>
</g>
<!-- sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node15" class="node"><title>sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node15"><a xlink:href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_unstructured_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="974,-675 676,-675 676,-651 974,-651 974,-675"/>
<text text-anchor="middle" x="825" y="-660.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge13" class="edge"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M640.4,-661.845C648.715,-661.898 657.122,-661.95 665.528,-662.003"/>
<polygon fill="#000000" stroke="#000000" points="665.751,-665.505 675.773,-662.068 665.795,-658.505 665.751,-665.505"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node17" class="node"><title>sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node17"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1620.5,-1158 1408.5,-1158 1408.5,-1134 1620.5,-1134 1620.5,-1158"/>
<text text-anchor="middle" x="1514.5" y="-1143.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge17" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.11,-591.445C1320,-669.097 1342.59,-1085.11 1381,-1125 1386.28,-1130.48 1392.36,-1134.9 1398.96,-1138.45"/>
<polygon fill="#000000" stroke="#000000" points="1397.72,-1141.73 1408.26,-1142.76 1400.66,-1135.38 1397.72,-1141.73"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node18" class="node"><title>sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node18"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html" xlink:title="xh5for_dpp_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1621.5,-1116 1407.5,-1116 1407.5,-1092 1621.5,-1092 1621.5,-1116"/>
<text text-anchor="middle" x="1514.5" y="-1101.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge18" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.2,-591.289C1313.76,-661.4 1310.26,-1010.25 1381,-1083 1386.02,-1088.16 1391.76,-1092.38 1397.97,-1095.81"/>
<polygon fill="#000000" stroke="#000000" points="1396.84,-1099.15 1407.38,-1100.3 1399.85,-1092.84 1396.84,-1099.15"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node19" class="node"><title>sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node19"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1648,-1074 1381,-1074 1381,-1050 1648,-1050 1648,-1074"/>
<text text-anchor="middle" x="1514.5" y="-1059.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge19" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.36,-591.127C1314.87,-657.366 1315.95,-974.877 1381,-1041 1381.82,-1041.83 1382.65,-1042.64 1383.5,-1043.42"/>
<polygon fill="#000000" stroke="#000000" points="1381.61,-1046.38 1391.63,-1049.83 1385.95,-1040.89 1381.61,-1046.38"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node20" class="node"><title>sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node20"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html" xlink:title="xh5for_ch_unstructured_static_mixed_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1636.5,-1032 1392.5,-1032 1392.5,-1008 1636.5,-1008 1636.5,-1032"/>
<text text-anchor="middle" x="1514.5" y="-1017.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_mixed_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge20" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.55,-591.248C1316.07,-654.077 1321.72,-939.568 1381,-999 1381.97,-999.974 1382.97,-1000.91 1383.99,-1001.82"/>
<polygon fill="#000000" stroke="#000000" points="1382.19,-1004.85 1392.26,-1008.15 1386.45,-999.296 1382.19,-1004.85"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node21" class="node"><title>sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node21"><a xlink:href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1644.5,-990 1384.5,-990 1384.5,-966 1644.5,-966 1644.5,-990"/>
<text text-anchor="middle" x="1514.5" y="-975.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge21" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.78,-591.18C1317.39,-650.02 1327.4,-904.167 1381,-957 1381.96,-957.943 1382.94,-958.854 1383.94,-959.734"/>
<polygon fill="#000000" stroke="#000000" points="1381.97,-962.629 1392.05,-965.892 1386.2,-957.055 1381.97,-962.629"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node22" class="node"><title>sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node22"><a xlink:href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html" xlink:title="xh5for_ch_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1617,-948 1412,-948 1412,-924 1617,-924 1617,-948"/>
<text text-anchor="middle" x="1514.5" y="-933.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge22" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.07,-591.271C1318.88,-646.193 1333.11,-868.772 1381,-915 1387.26,-921.046 1394.52,-925.773 1402.35,-929.44"/>
<polygon fill="#000000" stroke="#000000" points="1401.2,-932.749 1411.78,-933.271 1403.83,-926.264 1401.2,-932.749"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node23" class="node"><title>sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node23"><a xlink:href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1633.5,-906 1395.5,-906 1395.5,-882 1633.5,-882 1633.5,-906"/>
<text text-anchor="middle" x="1514.5" y="-891.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge23" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.42,-591.077C1320.51,-641.349 1338.7,-833.248 1381,-873 1382.76,-874.652 1384.59,-876.205 1386.49,-877.664"/>
<polygon fill="#000000" stroke="#000000" points="1384.95,-880.841 1395.21,-883.476 1388.83,-875.017 1384.95,-880.841"/>
</g>
<!-- sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node24" class="node"><title>sourcefile~xh5for_ch_regular_grid.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node24"><a xlink:href="../sourcefile/xh5for_ch_regular_grid.f90.html" xlink:title="xh5for_ch_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1585.5,-864 1443.5,-864 1443.5,-840 1585.5,-840 1585.5,-864"/>
<text text-anchor="middle" x="1514.5" y="-849.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge24" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.91,-591.186C1322.47,-636.965 1344.34,-797.74 1381,-831 1395.32,-843.994 1414.29,-850.768 1433.39,-853.991"/>
<polygon fill="#000000" stroke="#000000" points="1432.97,-857.467 1443.36,-855.366 1433.93,-850.533 1432.97,-857.467"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node25" class="node"><title>sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node25"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1636.5,-822 1392.5,-822 1392.5,-798 1636.5,-798 1636.5,-822"/>
<text text-anchor="middle" x="1514.5" y="-807.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge25" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.21,-591.042C1315.05,-627.298 1319.89,-736.177 1381,-789 1382.33,-790.152 1383.7,-791.254 1385.1,-792.308"/>
<polygon fill="#000000" stroke="#000000" points="1383.21,-795.251 1393.48,-797.838 1387.07,-789.408 1383.21,-795.251"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node26" class="node"><title>sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node26"><a xlink:href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html" xlink:title="xh5for_ch_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1609.5,-780 1419.5,-780 1419.5,-756 1609.5,-756 1609.5,-780"/>
<text text-anchor="middle" x="1514.5" y="-765.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge26" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.27,-591.093C1318.97,-622.414 1330.78,-706.545 1381,-747 1389.47,-753.824 1399.26,-758.857 1409.61,-762.525"/>
<polygon fill="#000000" stroke="#000000" points="1408.65,-765.894 1419.24,-765.522 1410.73,-759.21 1408.65,-765.894"/>
</g>
<!-- sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node27" class="node"><title>sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node27"><a xlink:href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1630,-738 1399,-738 1399,-714 1630,-714 1630,-738"/>
<text text-anchor="middle" x="1514.5" y="-723.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge27" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1317.96,-591.078C1323.87,-616.697 1341.39,-676.466 1381,-705 1383.87,-707.071 1386.88,-708.97 1389.98,-710.71"/>
<polygon fill="#000000" stroke="#000000" points="1388.46,-713.862 1398.96,-715.204 1391.59,-707.601 1388.46,-713.862"/>
</g>
<!-- sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node28" class="node"><title>sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node28"><a xlink:href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1618,-696 1411,-696 1411,-672 1618,-672 1618,-696"/>
<text text-anchor="middle" x="1514.5" y="-681.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge28" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1321.17,-591.094C1330.68,-609.882 1351.69,-645.715 1381,-663 1387.34,-666.742 1394.14,-669.879 1401.19,-672.505"/>
<polygon fill="#000000" stroke="#000000" points="1400.33,-675.91 1410.93,-675.777 1402.56,-669.275 1400.33,-675.91"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node29" class="node"><title>sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node29"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html" xlink:title="xh5for_dpp_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1595,-654 1434,-654 1434,-630 1595,-630 1595,-654"/>
<text text-anchor="middle" x="1514.5" y="-639.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge29" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1330.4,-591.126C1343.09,-600.787 1362.19,-613.84 1381,-621 1394.53,-626.15 1409.3,-630.036 1423.91,-632.97"/>
<polygon fill="#000000" stroke="#000000" points="1423.51,-636.456 1433.98,-634.853 1424.8,-629.575 1423.51,-636.456"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node30" class="node"><title>sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node30"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1627.5,-612 1401.5,-612 1401.5,-588 1627.5,-588 1627.5,-612"/>
<text text-anchor="middle" x="1514.5" y="-597.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge30" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1345.14,-582.144C1358.04,-583.512 1374.09,-585.214 1391.12,-587.02"/>
<polygon fill="#000000" stroke="#000000" points="1390.93,-590.52 1401.24,-588.094 1391.67,-583.559 1390.93,-590.52"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node31" class="node"><title>sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node31"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html" xlink:title="xh5for_dpp_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1627.5,-570 1401.5,-570 1401.5,-546 1627.5,-546 1627.5,-570"/>
<text text-anchor="middle" x="1514.5" y="-555.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge31" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1345.14,-575.856C1358.04,-574.488 1374.09,-572.786 1391.12,-570.98"/>
<polygon fill="#000000" stroke="#000000" points="1391.67,-574.441 1401.24,-569.906 1390.93,-567.48 1391.67,-574.441"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node32" class="node"><title>sourcefile~xh5for_dpp_regular_grid.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node32"><a xlink:href="../sourcefile/xh5for_dpp_regular_grid.f90.html" xlink:title="xh5for_dpp_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1588.5,-528 1440.5,-528 1440.5,-504 1588.5,-504 1588.5,-528"/>
<text text-anchor="middle" x="1514.5" y="-513.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge32" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1330.4,-566.874C1343.09,-557.213 1362.19,-544.16 1381,-537 1396.41,-531.134 1413.43,-526.906 1430,-523.86"/>
<polygon fill="#000000" stroke="#000000" points="1430.97,-527.245 1440.23,-522.111 1429.79,-520.345 1430.97,-527.245"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node33" class="node"><title>sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node33"><a xlink:href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1617,-486 1412,-486 1412,-462 1617,-462 1617,-486"/>
<text text-anchor="middle" x="1514.5" y="-471.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge33" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1321.17,-566.906C1330.68,-548.118 1351.69,-512.285 1381,-495 1387.7,-491.048 1394.91,-487.771 1402.38,-485.058"/>
<polygon fill="#000000" stroke="#000000" points="1403.54,-488.358 1411.96,-481.916 1401.36,-481.707 1403.54,-488.358"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node34" class="node"><title>sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node34"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html" xlink:title="xh5for_dpp_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1613,-444 1416,-444 1416,-420 1613,-420 1613,-444"/>
<text text-anchor="middle" x="1514.5" y="-429.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge34" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1317.96,-566.922C1323.87,-541.303 1341.39,-481.534 1381,-453 1388.71,-447.443 1397.34,-443.124 1406.38,-439.79"/>
<polygon fill="#000000" stroke="#000000" points="1407.53,-443.098 1415.94,-436.661 1405.35,-436.445 1407.53,-443.098"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node35" class="node"><title>sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node35"><a xlink:href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1621.5,-402 1407.5,-402 1407.5,-378 1621.5,-378 1621.5,-402"/>
<text text-anchor="middle" x="1514.5" y="-387.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge35" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.27,-566.907C1318.97,-535.586 1330.78,-451.455 1381,-411 1386.3,-406.73 1392.12,-403.161 1398.27,-400.189"/>
<polygon fill="#000000" stroke="#000000" points="1399.67,-403.397 1407.49,-396.249 1396.92,-396.96 1399.67,-403.397"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node36" class="node"><title>sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node36"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1636,-360 1393,-360 1393,-336 1636,-336 1636,-360"/>
<text text-anchor="middle" x="1514.5" y="-345.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge36" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.21,-566.958C1315.05,-530.702 1319.89,-421.823 1381,-369 1382.33,-367.848 1383.7,-366.746 1385.1,-365.692"/>
<polygon fill="#000000" stroke="#000000" points="1387.07,-368.592 1393.48,-360.162 1383.21,-362.749 1387.07,-368.592"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node37" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node37"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron_perf.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1630.5,-318 1398.5,-318 1398.5,-294 1630.5,-294 1630.5,-318"/>
<text text-anchor="middle" x="1514.5" y="-303.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron_perf.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge37" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.91,-566.814C1322.47,-521.035 1344.34,-360.26 1381,-327 1383.71,-324.539 1386.59,-322.301 1389.61,-320.268"/>
<polygon fill="#000000" stroke="#000000" points="1391.6,-323.156 1398.44,-315.066 1388.05,-317.125 1391.6,-323.156"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node38" class="node"><title>sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node38"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1632.5,-276 1396.5,-276 1396.5,-252 1632.5,-252 1632.5,-276"/>
<text text-anchor="middle" x="1514.5" y="-261.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge38" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.42,-566.923C1320.51,-516.651 1338.7,-324.752 1381,-285 1383.19,-282.944 1385.49,-281.042 1387.89,-279.283"/>
<polygon fill="#000000" stroke="#000000" points="1389.87,-282.174 1396.41,-273.841 1386.1,-276.274 1389.87,-282.174"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node39" class="node"><title>sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node39"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1639.5,-234 1389.5,-234 1389.5,-210 1639.5,-210 1639.5,-234"/>
<text text-anchor="middle" x="1514.5" y="-219.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge39" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.07,-566.729C1318.88,-511.807 1333.11,-289.228 1381,-243 1381.99,-242.045 1383,-241.122 1384.04,-240.232"/>
<polygon fill="#000000" stroke="#000000" points="1386.48,-242.782 1392.42,-234.012 1382.31,-237.16 1386.48,-242.782"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node40" class="node"><title>sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node40"><a xlink:href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html" xlink:title="xh5for_ch_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1624,-192 1405,-192 1405,-168 1624,-168 1624,-192"/>
<text text-anchor="middle" x="1514.5" y="-177.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge40" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.78,-566.82C1317.39,-507.98 1327.4,-253.833 1381,-201 1385.41,-196.653 1390.33,-192.983 1395.61,-189.895"/>
<polygon fill="#000000" stroke="#000000" points="1397.48,-192.875 1404.82,-185.232 1394.31,-186.631 1397.48,-192.875"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node41" class="node"><title>sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node41"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1624.5,-150 1404.5,-150 1404.5,-126 1624.5,-126 1624.5,-150"/>
<text text-anchor="middle" x="1514.5" y="-135.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge41" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.55,-566.752C1316.07,-503.923 1321.72,-218.432 1381,-159 1385.32,-154.669 1390.15,-151.006 1395.34,-147.919"/>
<polygon fill="#000000" stroke="#000000" points="1397.1,-150.948 1404.38,-143.251 1393.89,-144.728 1397.1,-150.948"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node42" class="node"><title>sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node42"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html" xlink:title="xh5for_dpp_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1620.5,-108 1408.5,-108 1408.5,-84 1620.5,-84 1620.5,-108"/>
<text text-anchor="middle" x="1514.5" y="-93.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge42" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.36,-566.873C1314.87,-500.634 1315.95,-183.123 1381,-117 1386.33,-111.578 1392.46,-107.198 1399.1,-103.681"/>
<polygon fill="#000000" stroke="#000000" points="1400.8,-106.752 1408.43,-99.4054 1397.88,-100.388 1400.8,-106.752"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node43" class="node"><title>sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node43"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html" xlink:title="xh5for_ch_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1591.5,-66 1437.5,-66 1437.5,-42 1591.5,-42 1591.5,-66"/>
<text text-anchor="middle" x="1514.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge43" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1315.2,-566.711C1313.76,-496.6 1310.26,-147.747 1381,-75 1393.28,-62.368 1409.88,-55.368 1427.16,-51.7744"/>
<polygon fill="#000000" stroke="#000000" points="1428.12,-55.1619 1437.39,-50.0354 1426.95,-48.2609 1428.12,-55.1619"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node44" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node44"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1618,-24 1411,-24 1411,-0 1618,-0 1618,-24"/>
<text text-anchor="middle" x="1514.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge44" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1316.11,-566.555C1320,-488.903 1342.59,-72.8877 1381,-33 1386.98,-26.7898 1394,-21.9365 1401.64,-18.1775"/>
<polygon fill="#000000" stroke="#000000" points="1403.03,-21.3894 1410.86,-14.2516 1400.28,-14.9489 1403.03,-21.3894"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge47" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M543.109,-396.093C585,-409.612 650.618,-430.353 676,-436 688.314,-438.739 701.288,-441.196 714.227,-443.377"/>
<polygon fill="#000000" stroke="#000000" points="713.669,-446.833 724.103,-444.993 714.799,-439.924 713.669,-446.833"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node47" class="node"><title>sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node47"><a xlink:href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_rectilinear_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="963,-385 687,-385 687,-361 963,-361 963,-385"/>
<text text-anchor="middle" x="825" y="-370.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge46" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M632.139,-379.637C646.721,-379.132 661.689,-378.615 676.522,-378.101"/>
<polygon fill="#000000" stroke="#000000" points="676.891,-381.591 686.764,-377.747 676.649,-374.595 676.891,-381.591"/>
</g>
<!-- sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node48" class="node"><title>sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node48"><a xlink:href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_regular_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="956.5,-343 693.5,-343 693.5,-319 956.5,-319 956.5,-343"/>
<text text-anchor="middle" x="825" y="-328.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge48" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M566.465,-371.932C598.885,-365.635 639.553,-358.013 676,-352 691.691,-349.411 708.351,-346.859 724.617,-344.473"/>
<polygon fill="#000000" stroke="#000000" points="725.288,-347.912 734.681,-343.01 724.282,-340.985 725.288,-347.912"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge49" class="edge"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M571.303,-460.055C602.886,-465.749 641.371,-472.489 676,-478 692.024,-480.55 709.049,-483.107 725.631,-485.516"/>
<polygon fill="#000000" stroke="#000000" points="725.487,-489.031 735.885,-486.995 726.487,-482.103 725.487,-489.031"/>
</g>
<!-- sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_node49" class="node"><title>sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~hdf5_handler.f90~~AfferentGraph_node49"><a xlink:href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="969.5,-427 680.5,-427 680.5,-403 969.5,-403 969.5,-427"/>
<text text-anchor="middle" x="825" y="-412.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~hdf5_handler.f90~~AfferentGraph_edge50" class="edge"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M621.705,-435.993C646.554,-433.414 672.93,-430.677 698.142,-428.061"/>
<polygon fill="#000000" stroke="#000000" points="698.53,-431.539 708.115,-427.026 697.807,-424.577 698.53,-431.539"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilehdf5_handlerf90AfferentGraph = svgPanZoom('#sourcefilehdf5_handlerf90AfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
      
      <br>

    <section class="visible-xs visible-sm hidden-md">
      






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-1">Modules</a></h3></div>
  <div id="mods-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/hdf5_handler.html">hdf5_handler</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html#src">hdf5_handler.f90</a>
  </div>
</div>


    </section>
    <br class="visible-xs visible-sm hidden-md">

    <section>
      <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="hl"><pre><a name="ln-1"></a><span class="k">module </span><span class="n">hdf5_handler</span>
<a name="ln-2"></a>
<a name="ln-3"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-4"></a><span class="k">use </span><span class="n">HDF5</span>
<a name="ln-5"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span> <span class="p">:</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span><span class="p">,</span> <span class="n">str</span>
<a name="ln-6"></a><span class="cp">#else</span>
<a name="ln-7"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span> <span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span><span class="p">,</span> <span class="n">str</span>
<a name="ln-8"></a><span class="cp">#endif</span>
<a name="ln-9"></a><span class="k">use </span><span class="n">mpi_environment</span>
<a name="ln-10"></a><span class="k">use </span><span class="n">xh5for_parameters</span>
<a name="ln-11"></a><span class="k">use </span><span class="n">steps_handler</span>
<a name="ln-12"></a><span class="k">use </span><span class="n">spatial_grid_descriptor</span>
<a name="ln-13"></a><span class="k">use </span><span class="n">uniform_grid_descriptor</span>
<a name="ln-14"></a>
<a name="ln-15"></a><span class="k">implicit none</span>
<a name="ln-16"></a>
<a name="ln-17"></a><span class="cp">#include &quot;assert.i90&quot;</span>
<a name="ln-18"></a>
<a name="ln-19"></a><span class="k">private</span>
<a name="ln-20"></a>
<a name="ln-21"></a><span class="cp">#ifndef ENABLE_HDF5</span>
<a name="ln-22"></a>    <span class="kt">integer</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HID_T</span> <span class="o">=</span> <span class="n">I4P</span>
<a name="ln-23"></a>    <span class="kt">integer</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HSIZE_T</span> <span class="o">=</span> <span class="n">I4P</span>
<a name="ln-24"></a><span class="cp">#endif</span>
<a name="ln-25"></a>
<a name="ln-26"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HDF5_HANDLER_STATE_START</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-27"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HDF5_HANDLER_STATE_INIT</span>  <span class="o">=</span> <span class="mi">1</span>
<a name="ln-28"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span>  <span class="o">=</span> <span class="mi">2</span>
<a name="ln-29"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">HDF5_HANDLER_STATE_CLOSE</span> <span class="o">=</span> <span class="mi">3</span>
<a name="ln-30"></a>
<a name="ln-31"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-32"></a>    <span class="c">! HDF5_HANDLER State Transition Diagram</span>
<a name="ln-33"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-34"></a>    <span class="c">! - This diagram controls the basic life cycle of the HDF5 file.</span>
<a name="ln-35"></a>    <span class="c">! - Only a public procedure (IsOpen) is needed to check if the</span>
<a name="ln-36"></a>    <span class="c">!   handler is in the right state to perform I/O operations.</span>
<a name="ln-37"></a>    <span class="c">! - Only the next hierarchy layer needs to ensure this status via</span>
<a name="ln-38"></a>    <span class="c">!   ReadHyperSlabs/WriteHyperSlabs/ReadDataset/WriteData/WriteMetadata</span>
<a name="ln-39"></a>    <span class="c">!   procedures</span>
<a name="ln-40"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-41"></a>    <span class="c">!       INIT STATE      |     ACTION      |      FINAL STATE</span>
<a name="ln-42"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-43"></a>    <span class="c">! START                 | Free            | START</span>
<a name="ln-44"></a>    <span class="c">! START                 | Initialize      | INIT</span>
<a name="ln-45"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-46"></a>    <span class="c">! INIT                  | Free            | START</span>
<a name="ln-47"></a>    <span class="c">! INIT                  | Initialize      | INIT</span>
<a name="ln-48"></a>    <span class="c">! INIT                  | OpenFile        | OPEN</span>
<a name="ln-49"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-50"></a>    <span class="c">! OPEN                  | Free            | START</span>
<a name="ln-51"></a>    <span class="c">! OPEN                  | Initialize      | INIT</span>
<a name="ln-52"></a>    <span class="c">! OPEN                  | OpenFile        | OPEN</span>
<a name="ln-53"></a>    <span class="c">! OPEN                  | CloseFile       | CLOSE</span>
<a name="ln-54"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-55"></a>    <span class="c">! CLOSE                 | Free            | START</span>
<a name="ln-56"></a>    <span class="c">! CLOSE                 | Initialize      | INIT</span>
<a name="ln-57"></a>    <span class="c">! CLOSE                 | OpenFile        | OPEN</span>
<a name="ln-58"></a>    <span class="c">! CLOSE                 | CloseFile       | CLOSE</span>
<a name="ln-59"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-60"></a>
<a name="ln-61"></a>    <span class="k">type</span><span class="p">,</span> <span class="k">abstract</span> <span class="kd">::</span> <span class="n">hdf5_handler_t</span>
<a name="ln-62"></a>    <span class="k">private</span>
<a name="ln-63"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-64"></a>    <span class="c">!&lt; HDF5 abstract handler</span>
<a name="ln-65"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-66"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span>             <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">Prefix</span>                           <span class="c">!&lt; Name prefix of the HDF5 file</span>
<a name="ln-67"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span>             <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">Path</span>                             <span class="c">!&lt; Root path</span>
<a name="ln-68"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span>             <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">FileName</span>                         <span class="c">!&lt; HDF5 file name</span>
<a name="ln-69"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                            <span class="kd">::</span> <span class="n">FileID</span>  <span class="o">=</span> <span class="n">XDMF_NO_VALUE</span>          <span class="c">!&lt; File identifier </span>
<a name="ln-70"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                              <span class="kd">::</span> <span class="n">Action</span>  <span class="o">=</span> <span class="n">XDMF_NO_VALUE</span>          <span class="c">!&lt; HDF5 action to be perfomed (Read or Write)</span>
<a name="ln-71"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                              <span class="kd">::</span> <span class="n">State</span> <span class="o">=</span> <span class="n">HDF5_HANDLER_STATE_START</span> <span class="c">!&lt; HDF5 state</span>
<a name="ln-72"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>                  <span class="k">pointer</span> <span class="kd">::</span> <span class="n">MPIEnvironment</span>        <span class="o">=&gt;</span> <span class="nb">null</span><span class="p">()</span>  <span class="c">!&lt; MPI environment </span>
<a name="ln-73"></a>        <span class="k">type</span><span class="p">(</span><span class="n">steps_handler_t</span><span class="p">),</span>            <span class="k">pointer</span> <span class="kd">::</span> <span class="n">StepsHandler</span>          <span class="o">=&gt;</span> <span class="nb">null</span><span class="p">()</span>  <span class="c">!&lt; Steps handler</span>
<a name="ln-74"></a>        <span class="k">class</span><span class="p">(</span><span class="n">spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">pointer</span> <span class="kd">::</span> <span class="n">SpatialGridDescriptor</span> <span class="o">=&gt;</span> <span class="nb">null</span><span class="p">()</span>  <span class="c">!&lt; Spatial grid descriptor</span>
<a name="ln-75"></a>        <span class="k">class</span><span class="p">(</span><span class="n">uniform_grid_descriptor_t</span><span class="p">),</span> <span class="k">pointer</span> <span class="kd">::</span> <span class="n">UniformGridDescriptor</span> <span class="o">=&gt;</span> <span class="nb">null</span><span class="p">()</span>  <span class="c">!&lt; Uniform grid descriptor</span>
<a name="ln-76"></a>    <span class="k">contains</span>
<a name="ln-77"></a><span class="k">    private</span>
<a name="ln-78"></a><span class="k">        procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_XYZ_R4P</span><span class="p">),</span>   <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_XYZ_R4P</span>
<a name="ln-79"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_XYZ_R8P</span><span class="p">),</span>   <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_XYZ_R8P</span>
<a name="ln-80"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R4P</span><span class="p">),</span> <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_X_Y_Z_R4P</span>
<a name="ln-81"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R8P</span><span class="p">),</span> <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_X_Y_Z_R8P</span>
<a name="ln-82"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R4P</span><span class="p">),</span><span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_DXDYDZ_R4P</span>
<a name="ln-83"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R8P</span><span class="p">),</span><span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-84"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_XYZ_R4P</span><span class="p">),</span>    <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_XYZ_R4P</span>
<a name="ln-85"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_XYZ_R8P</span><span class="p">),</span>    <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_XYZ_R8P</span>
<a name="ln-86"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R4P</span><span class="p">),</span>  <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_X_Y_Z_R4P</span>
<a name="ln-87"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R8P</span><span class="p">),</span>  <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_X_Y_Z_R8P</span>
<a name="ln-88"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R4P</span><span class="p">),</span> <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_DXDYDZ_R4P</span>
<a name="ln-89"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R8P</span><span class="p">),</span> <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-90"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteTopology_I4P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteTopology_I4P</span>
<a name="ln-91"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteTopology_I8P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteTopology_I8P</span>
<a name="ln-92"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadTopology_I4P</span><span class="p">),</span>        <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadTopology_I4P</span>
<a name="ln-93"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadTopology_I8P</span><span class="p">),</span>        <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadTopology_I8P</span>
<a name="ln-94"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteAttribute_I4P</span><span class="p">),</span>      <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteAttribute_I4P</span>
<a name="ln-95"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteAttribute_I8P</span><span class="p">),</span>      <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteAttribute_I8P</span>
<a name="ln-96"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteAttribute_R4P</span><span class="p">),</span>      <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteAttribute_R4P</span>
<a name="ln-97"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_WriteAttribute_R8P</span><span class="p">),</span>      <span class="k">deferred</span> <span class="kd">::</span> <span class="n">WriteAttribute_R8P</span>
<a name="ln-98"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadAttribute_I4P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadAttribute_I4P</span>
<a name="ln-99"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadAttribute_I8P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadAttribute_I8P</span>
<a name="ln-100"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadAttribute_R4P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadAttribute_R4P</span>
<a name="ln-101"></a>        <span class="k">procedure</span><span class="p">(</span><span class="n">hdf5_handler_ReadAttribute_R8P</span><span class="p">),</span>       <span class="k">deferred</span> <span class="kd">::</span> <span class="n">ReadAttribute_R8P</span>
<a name="ln-102"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">Initialize</span>               <span class="o">=&gt;</span> <span class="n">hdf5_handler_Initialize</span>
<a name="ln-103"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">Free</span>                     <span class="o">=&gt;</span> <span class="n">hdf5_handler_Free</span>
<a name="ln-104"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">OpenFile</span>                 <span class="o">=&gt;</span> <span class="n">hdf5_handler_OpenFile</span>
<a name="ln-105"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">IsOpen</span>                   <span class="o">=&gt;</span> <span class="n">hdf5_handler_IsOpen</span>
<a name="ln-106"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">IsStepFileOpen</span>           <span class="o">=&gt;</span> <span class="n">hdf5_handler_IsStepFileOpen</span>
<a name="ln-107"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">CloseFile</span>                <span class="o">=&gt;</span> <span class="n">hdf5_handler_CloseFile</span>
<a name="ln-108"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetFileID</span>                <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetFileID</span>
<a name="ln-109"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetAction</span>                <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetAction</span>
<a name="ln-110"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetMPIEnvironment</span>        <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetMPIEnvironment</span>
<a name="ln-111"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetStepsHandler</span>          <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetStepsHandler</span>
<a name="ln-112"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetUniformGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetUniformGridDescriptor</span>
<a name="ln-113"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetSpatialGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetSpatialGridDescriptor</span>
<a name="ln-114"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">non_overridable</span><span class="p">,</span> <span class="k">public</span>   <span class="kd">::</span> <span class="n">GetHDF5FileName</span>          <span class="o">=&gt;</span> <span class="n">hdf5_handler_GetHDF5FileName</span>
<a name="ln-115"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">WriteTopology</span>  <span class="o">=&gt;</span> <span class="n">WriteTopology_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-116"></a>                                                                  <span class="n">WriteTopology_I8P</span>
<a name="ln-117"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">ReadTopology</span>   <span class="o">=&gt;</span> <span class="n">ReadTopology_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-118"></a>                                                                  <span class="n">ReadTopology_I8P</span>
<a name="ln-119"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">WriteGeometry</span>  <span class="o">=&gt;</span> <span class="n">WriteGeometry_XYZ_R4P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-120"></a>                                                                  <span class="n">WriteGeometry_XYZ_R8P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-121"></a>                                                                  <span class="n">WriteGeometry_X_Y_Z_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-122"></a>                                                                  <span class="n">WriteGeometry_X_Y_Z_R8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-123"></a>                                                                  <span class="n">WriteGeometry_DXDYDZ_R4P</span><span class="p">,&amp;</span>
<a name="ln-124"></a>                                                                  <span class="n">WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-125"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">ReadGeometry</span>   <span class="o">=&gt;</span> <span class="n">ReadGeometry_XYZ_R4P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-126"></a>                                                                  <span class="n">ReadGeometry_XYZ_R8P</span><span class="p">,</span>   <span class="p">&amp;</span>
<a name="ln-127"></a>                                                                  <span class="n">ReadGeometry_X_Y_Z_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-128"></a>                                                                  <span class="n">ReadGeometry_X_Y_Z_R8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-129"></a>                                                                  <span class="n">ReadGeometry_DXDYDZ_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-130"></a>                                                                  <span class="n">ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-131"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">WriteAttribute</span> <span class="o">=&gt;</span> <span class="n">WriteAttribute_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-132"></a>                                                                  <span class="n">WriteAttribute_I8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-133"></a>                                                                  <span class="n">WriteAttribute_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-134"></a>                                                                  <span class="n">WriteAttribute_R8P</span>
<a name="ln-135"></a>        <span class="k">generic</span><span class="p">,</span>                    <span class="k">public</span>   <span class="kd">::</span> <span class="n">ReadAttribute</span>  <span class="o">=&gt;</span> <span class="n">ReadAttribute_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-136"></a>                                                                  <span class="n">ReadAttribute_I8P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-137"></a>                                                                  <span class="n">ReadAttribute_R4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-138"></a>                                                                  <span class="n">ReadAttribute_R8P</span>
<a name="ln-139"></a>
<a name="ln-140"></a>    <span class="k">end type </span><span class="n">hdf5_handler_t</span>
<a name="ln-141"></a>
<a name="ln-142"></a>    <span class="k">abstract interface</span>
<a name="ln-143"></a><span class="k">        subroutine </span><span class="n">hdf5_handler_WriteGeometry_XYZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-144"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-145"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-146"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-147"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
<a name="ln-148"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-149"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_XYZ_R4P</span>
<a name="ln-150"></a>
<a name="ln-151"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteGeometry_XYZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-152"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-153"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-154"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-155"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
<a name="ln-156"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-157"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_XYZ_R8P</span>
<a name="ln-158"></a>
<a name="ln-159"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-160"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-161"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-162"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-163"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>
<a name="ln-164"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>
<a name="ln-165"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>
<a name="ln-166"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-167"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R4P</span>
<a name="ln-168"></a>
<a name="ln-169"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-170"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-171"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-172"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-173"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>
<a name="ln-174"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>
<a name="ln-175"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>
<a name="ln-176"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-177"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_X_Y_Z_R8P</span>
<a name="ln-178"></a>
<a name="ln-179"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-180"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-181"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-182"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-183"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>
<a name="ln-184"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>
<a name="ln-185"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-186"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R4P</span>
<a name="ln-187"></a>
<a name="ln-188"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-189"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-190"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-191"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-192"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>
<a name="ln-193"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>
<a name="ln-194"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-195"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteGeometry_DXDYDZ_R8P</span>
<a name="ln-196"></a>
<a name="ln-197"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_XYZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-198"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-199"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-200"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-201"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
<a name="ln-202"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-203"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_XYZ_R4P</span>
<a name="ln-204"></a>
<a name="ln-205"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_XYZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-206"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-207"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-208"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-209"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
<a name="ln-210"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-211"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_XYZ_R8P</span>
<a name="ln-212"></a>
<a name="ln-213"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-214"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-215"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-216"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-217"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>
<a name="ln-218"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>
<a name="ln-219"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>
<a name="ln-220"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-221"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R4P</span>
<a name="ln-222"></a>
<a name="ln-223"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-224"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-225"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-226"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-227"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">X</span><span class="p">(:)</span>
<a name="ln-228"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Y</span><span class="p">(:)</span>
<a name="ln-229"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Z</span><span class="p">(:)</span>
<a name="ln-230"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-231"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_X_Y_Z_R8P</span>
<a name="ln-232"></a>
<a name="ln-233"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-234"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-235"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-236"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-237"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>
<a name="ln-238"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>
<a name="ln-239"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-240"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R4P</span>
<a name="ln-241"></a>
<a name="ln-242"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Origin</span><span class="p">,</span> <span class="n">DxDyDz</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-243"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-244"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-245"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-246"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Origin</span><span class="p">(:)</span>
<a name="ln-247"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">DxDyDz</span><span class="p">(:)</span>
<a name="ln-248"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-249"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadGeometry_DXDYDZ_R8P</span>
<a name="ln-250"></a>
<a name="ln-251"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteTopology_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-252"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-253"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-254"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-255"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span>
<a name="ln-256"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-257"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteTopology_I4P</span>
<a name="ln-258"></a>
<a name="ln-259"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteTopology_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-260"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-261"></a>            <span class="k">import </span><span class="n">I8P</span>
<a name="ln-262"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-263"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span>
<a name="ln-264"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-265"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteTopology_I8P</span>
<a name="ln-266"></a>
<a name="ln-267"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadTopology_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-268"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-269"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-270"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-271"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span>
<a name="ln-272"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-273"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadTopology_I4P</span>
<a name="ln-274"></a>
<a name="ln-275"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadTopology_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connectivities</span><span class="p">,</span> <span class="n">Name</span><span class="p">)</span>
<a name="ln-276"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-277"></a>            <span class="k">import </span><span class="n">I8P</span>
<a name="ln-278"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>
<a name="ln-279"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Connectivities</span><span class="p">(:)</span>
<a name="ln-280"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-281"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadTopology_I8P</span>
<a name="ln-282"></a>
<a name="ln-283"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteAttribute_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-284"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-285"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-286"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-287"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-288"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-289"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-290"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-291"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteAttribute_I4P</span>
<a name="ln-292"></a>
<a name="ln-293"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteAttribute_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-294"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-295"></a>            <span class="k">import </span><span class="n">I8P</span>
<a name="ln-296"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-297"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-298"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-299"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-300"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-301"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-302"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteAttribute_I8P</span>
<a name="ln-303"></a>
<a name="ln-304"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteAttribute_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-305"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-306"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-307"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-308"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-309"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-310"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-311"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-312"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-313"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteAttribute_R4P</span>
<a name="ln-314"></a>
<a name="ln-315"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_WriteAttribute_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-316"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-317"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-318"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-319"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-320"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-321"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-322"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-323"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-324"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_WriteAttribute_R8P</span>
<a name="ln-325"></a>
<a name="ln-326"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadAttribute_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-327"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-328"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-329"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>    <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-330"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>         <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-331"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-332"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>             <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-333"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span><span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span><span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-334"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadAttribute_I4P</span>
<a name="ln-335"></a>
<a name="ln-336"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadAttribute_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-337"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-338"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-339"></a>            <span class="k">import </span><span class="n">I8P</span>
<a name="ln-340"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-341"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>        <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-342"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-343"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>            <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-344"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span><span class="k">allocatable</span><span class="p">,</span><span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span><span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-345"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadAttribute_I8P</span>
<a name="ln-346"></a>
<a name="ln-347"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadAttribute_R4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-348"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-349"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-350"></a>            <span class="k">import </span><span class="n">R4P</span>
<a name="ln-351"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-352"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-353"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-354"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-355"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span><span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span><span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-356"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadAttribute_R4P</span>
<a name="ln-357"></a>
<a name="ln-358"></a>        <span class="k">subroutine </span><span class="n">hdf5_handler_ReadAttribute_R8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Name</span><span class="p">,</span> <span class="k">Type</span><span class="p">,</span> <span class="n">Center</span><span class="p">,</span> <span class="n">Values</span><span class="p">)</span>
<a name="ln-359"></a>            <span class="k">import </span><span class="n">hdf5_handler_t</span>
<a name="ln-360"></a>            <span class="k">import </span><span class="n">I4P</span>
<a name="ln-361"></a>            <span class="k">import </span><span class="n">R8P</span>
<a name="ln-362"></a>            <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>
<a name="ln-363"></a>            <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Name</span>
<a name="ln-364"></a>            <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Type</span>
<a name="ln-365"></a><span class="k">            </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Center</span>
<a name="ln-366"></a>            <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span><span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span><span class="kd">::</span> <span class="n">values</span><span class="p">(:)</span>
<a name="ln-367"></a>        <span class="k">end subroutine </span><span class="n">hdf5_handler_ReadAttribute_R8P</span>
<a name="ln-368"></a>
<a name="ln-369"></a>    <span class="k">end interface</span>
<a name="ln-370"></a>
<a name="ln-371"></a><span class="k">public</span> <span class="kd">::</span> <span class="n">hdf5_handler_t</span>
<a name="ln-372"></a>
<a name="ln-373"></a><span class="cp">#ifndef ENABLE_HDF5</span>
<a name="ln-374"></a><span class="k">public</span> <span class="kd">::</span> <span class="n">HID_T</span>
<a name="ln-375"></a><span class="k">public</span> <span class="kd">::</span> <span class="n">HSIZE_T</span>
<a name="ln-376"></a><span class="cp">#endif</span>
<a name="ln-377"></a>
<a name="ln-378"></a><span class="k">contains</span>
<a name="ln-379"></a>
<a name="ln-380"></a>
<a name="ln-381"></a><span class="k">    subroutine </span><span class="n">hdf5_handler_Initialize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">MPIEnvironment</span><span class="p">,</span> <span class="n">StepsHandler</span><span class="p">,</span> <span class="n">UniformGridDescriptor</span><span class="p">,</span> <span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-382"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-383"></a>    <span class="c">!&lt; Initialize the HDF5 handler</span>
<a name="ln-384"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-385"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>                    <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                  <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-386"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>                  <span class="k">target</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">MPIEnvironment</span>        <span class="c">!&lt; MPI environment</span>
<a name="ln-387"></a>        <span class="k">type</span><span class="p">(</span><span class="n">steps_handler_t</span><span class="p">),</span>            <span class="k">target</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">StepsHandler</span>          <span class="c">!&lt; Steps handler</span>
<a name="ln-388"></a>        <span class="k">class</span><span class="p">(</span><span class="n">uniform_grid_descriptor_t</span><span class="p">),</span> <span class="k">target</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">UniformGridDescriptor</span> <span class="c">!&lt; Uniform grid descriptor </span>
<a name="ln-389"></a>        <span class="k">class</span><span class="p">(</span><span class="n">spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">target</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">SpatialGridDescriptor</span> <span class="c">!&lt; Spatial grid descriptor</span>
<a name="ln-390"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-391"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-392"></a>        <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span>        <span class="o">=&gt;</span> <span class="n">MPIEnvironment</span>
<a name="ln-393"></a>        <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span>          <span class="o">=&gt;</span> <span class="n">StepsHandler</span>
<a name="ln-394"></a>        <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">SpatialGridDescriptor</span>
<a name="ln-395"></a>        <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">UniformGridDescriptor</span>
<a name="ln-396"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span>                 <span class="o">=</span>  <span class="n">HDF5_HANDLER_STATE_INIT</span>
<a name="ln-397"></a>    <span class="k">end subroutine </span><span class="n">hdf5_handler_Initialize</span>
<a name="ln-398"></a>
<a name="ln-399"></a>
<a name="ln-400"></a>    <span class="k">subroutine </span><span class="n">hdf5_handler_Free</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-401"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-402"></a>    <span class="c">!&lt; HDF5 handler free</span>
<a name="ln-403"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-404"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                 <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-405"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-406"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CloseFile</span><span class="p">()</span>
<a name="ln-407"></a>        <span class="n">this</span><span class="p">%</span><span class="n">FileID</span> <span class="o">=</span> <span class="n">XDMF_NO_VALUE</span>
<a name="ln-408"></a>        <span class="n">this</span><span class="p">%</span><span class="n">action</span>  <span class="o">=</span> <span class="n">XDMF_NO_VALUE</span>
<a name="ln-409"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="p">)</span>
<a name="ln-410"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">)</span>
<a name="ln-411"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-412"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-413"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">HDF5_HANDLER_STATE_START</span>
<a name="ln-414"></a>    <span class="k">end subroutine </span><span class="n">hdf5_handler_Free</span>
<a name="ln-415"></a>
<a name="ln-416"></a>
<a name="ln-417"></a>    <span class="k">function </span><span class="n">hdf5_handler_IsOpen</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">IsOpen</span><span class="p">)</span>
<a name="ln-418"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-419"></a>    <span class="c">!&lt; Check if the HDF5 is already open. Needed to Write/Read</span>
<a name="ln-420"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-421"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-422"></a>        <span class="kt">logical</span>                           <span class="kd">::</span> <span class="n">IsOpen</span>                   <span class="c">!&lt; Check if file state is OPEN</span>
<a name="ln-423"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-424"></a>        <span class="n">IsOpen</span> <span class="o">=</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span><span class="p">)</span>
<a name="ln-425"></a>    <span class="k">end function </span><span class="n">hdf5_handler_IsOpen</span>
<a name="ln-426"></a>
<a name="ln-427"></a>
<a name="ln-428"></a>    <span class="k">function </span><span class="n">hdf5_handler_IsStepFileOpen</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Step</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">IsStepFileOpen</span><span class="p">)</span>
<a name="ln-429"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-430"></a>    <span class="c">!&lt; Check if the HDF5 file corresponding to a step is already open</span>
<a name="ln-431"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-432"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-433"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">Step</span>                     <span class="c">!&lt; Step to check</span>
<a name="ln-434"></a>        <span class="kt">logical</span>                           <span class="kd">::</span> <span class="n">IsStepFileOpen</span>           <span class="c">!&lt; Check if file state is OPEN</span>
<a name="ln-435"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-436"></a>        <span class="n">IsStepFileOpen</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">IsOpen</span><span class="p">()</span>
<a name="ln-437"></a>        <span class="k">if</span><span class="p">(</span><span class="n">IsStepFileOpen</span><span class="p">)</span> <span class="n">IsStepFileOpen</span> <span class="o">=</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">FileName</span> <span class="o">==</span> <span class="n">this</span><span class="p">%</span><span class="n">GetHDF5FileName</span><span class="p">(</span><span class="n">Step</span><span class="p">))</span>
<a name="ln-438"></a>    <span class="k">end function </span><span class="n">hdf5_handler_IsStepFileOpen</span>
<a name="ln-439"></a>
<a name="ln-440"></a>
<a name="ln-441"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetAction</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">Action</span><span class="p">)</span>
<a name="ln-442"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-443"></a>    <span class="c">!&lt; Return the current Action</span>
<a name="ln-444"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-445"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-446"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                      <span class="kd">::</span> <span class="n">Action</span>                   <span class="c">!&lt; File ID</span>
<a name="ln-447"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-448"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;</span> <span class="n">HDF5_HANDLER_STATE_START</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-449"></a>        <span class="n">Action</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Action</span>
<a name="ln-450"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetAction</span>
<a name="ln-451"></a>
<a name="ln-452"></a>
<a name="ln-453"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetFileID</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">FileID</span><span class="p">)</span>
<a name="ln-454"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-455"></a>    <span class="c">!&lt; Return the File ID</span>
<a name="ln-456"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-457"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-458"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                    <span class="kd">::</span> <span class="n">FileID</span>                   <span class="c">!&lt; File ID</span>
<a name="ln-459"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-460"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-461"></a>        <span class="n">FileID</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileID</span>
<a name="ln-462"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetFileID</span>
<a name="ln-463"></a>
<a name="ln-464"></a>
<a name="ln-465"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetStepsHandler</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">StepsHandler</span><span class="p">)</span>
<a name="ln-466"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-467"></a>    <span class="c">!&lt; Return a pointer to the UniformGridDescriptor</span>
<a name="ln-468"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-469"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>         <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-470"></a>        <span class="k">class</span><span class="p">(</span><span class="n">steps_handler_t</span><span class="p">),</span> <span class="k">pointer</span>           <span class="kd">::</span> <span class="n">StepsHandler</span>     <span class="c">!&lt; Steps handler</span>
<a name="ln-471"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-472"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;</span> <span class="n">HDF5_HANDLER_STATE_START</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-473"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">StepsHandler</span><span class="p">)</span>
<a name="ln-474"></a>        <span class="n">StepsHandler</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span>
<a name="ln-475"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetStepsHandler</span>
<a name="ln-476"></a>
<a name="ln-477"></a>
<a name="ln-478"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetUniformGridDescriptor</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-479"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-480"></a>    <span class="c">!&lt; Return a pointer to the UniformGridDescriptor</span>
<a name="ln-481"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-482"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>         <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                  <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-483"></a>        <span class="k">class</span><span class="p">(</span><span class="n">uniform_grid_descriptor_t</span><span class="p">),</span> <span class="k">pointer</span> <span class="kd">::</span> <span class="n">UniformGridDescriptor</span> <span class="c">!&lt; Uniform grid descriptor</span>
<a name="ln-484"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-485"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;</span> <span class="n">HDF5_HANDLER_STATE_START</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-486"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">UniformGridDescriptor</span><span class="p">)</span>
<a name="ln-487"></a>        <span class="n">UniformGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">UniformGridDescriptor</span>
<a name="ln-488"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetUniformGridDescriptor</span>
<a name="ln-489"></a>
<a name="ln-490"></a>
<a name="ln-491"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetSpatialGridDescriptor</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-492"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-493"></a>    <span class="c">!&lt; Return a pointer to the SpatialGridDescriptor</span>
<a name="ln-494"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-495"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>         <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                  <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-496"></a>        <span class="k">class</span><span class="p">(</span><span class="n">spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">pointer</span> <span class="kd">::</span> <span class="n">SpatialGridDescriptor</span> <span class="c">!&lt; Uniform grid descriptor</span>
<a name="ln-497"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-498"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">SpatialGridDescriptor</span><span class="p">)</span>
<a name="ln-499"></a>        <span class="n">SpatialGridDescriptor</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">SpatialGridDescriptor</span>
<a name="ln-500"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetSpatialGridDescriptor</span>
<a name="ln-501"></a>
<a name="ln-502"></a>
<a name="ln-503"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetMPIEnvironment</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">MPIEnvironment</span><span class="p">)</span>
<a name="ln-504"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-505"></a>    <span class="c">!&lt; Return a pointer to the MPIEnvironment</span>
<a name="ln-506"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-507"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                     <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-508"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>         <span class="kd">::</span> <span class="n">MPIEnvironment</span>           <span class="c">!&lt; MPI Environment</span>
<a name="ln-509"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-510"></a>        <span class="k">nullify</span><span class="p">(</span><span class="n">MPIEnvironment</span><span class="p">)</span>
<a name="ln-511"></a>        <span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span>
<a name="ln-512"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetMPIEnvironment</span>
<a name="ln-513"></a>
<a name="ln-514"></a>
<a name="ln-515"></a>    <span class="k">function </span><span class="n">hdf5_handler_GetHDF5Filename</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Step</span><span class="p">)</span> <span class="k">result</span> <span class="p">(</span><span class="n">HDF5FileName</span><span class="p">)</span>
<a name="ln-516"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-517"></a>    <span class="c">!&lt; Generate HDF5 Filename depending on time step</span>
<a name="ln-518"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-519"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>  <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                 <span class="c">!&lt; XMDF handler</span>
<a name="ln-520"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Step</span>                 <span class="c">!&lt; Force step number</span>
<a name="ln-521"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span> <span class="k">allocatable</span>         <span class="kd">::</span> <span class="n">HDF5FileName</span>         <span class="c">!&lt; Name of the current HDF5 file</span>
<a name="ln-522"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-523"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;</span> <span class="n">HDF5_HANDLER_STATE_START</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-524"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Step</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-525"></a><span class="k">            </span><span class="n">HDF5Filename</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="o">//</span><span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="o">//</span><span class="s1">&#39;_&#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">Step</span><span class="p">)))</span><span class="o">//</span><span class="n">HDF5_EXT</span>
<a name="ln-526"></a>        <span class="k">else</span>
<a name="ln-527"></a><span class="k">            </span><span class="n">HDF5Filename</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span><span class="o">//</span><span class="n">this</span><span class="p">%</span><span class="n">Prefix</span><span class="o">//</span><span class="s1">&#39;_&#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">this</span><span class="p">%</span><span class="n">StepsHandler</span><span class="p">%</span><span class="n">GetCurrentStep</span><span class="p">())))</span><span class="o">//</span><span class="n">HDF5_EXT</span>
<a name="ln-528"></a>        <span class="n">endif</span>
<a name="ln-529"></a>    <span class="k">end function </span><span class="n">hdf5_handler_GetHDF5Filename</span>
<a name="ln-530"></a>
<a name="ln-531"></a>
<a name="ln-532"></a>    <span class="k">subroutine </span><span class="n">hdf5_handler_OpenFile</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Action</span><span class="p">,</span> <span class="n">FilePrefix</span><span class="p">,</span> <span class="n">Path</span><span class="p">,</span> <span class="n">Step</span><span class="p">)</span>
<a name="ln-533"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-534"></a>    <span class="c">!&lt; Open a HDF5 file</span>
<a name="ln-535"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-536"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span>      <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                  <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-537"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>               <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Action</span>                <span class="c">!&lt; Action to be perfomed (Read or Write)</span>
<a name="ln-538"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">FilePrefix</span>            <span class="c">!&lt; HDF5 file prefix</span>
<a name="ln-539"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Path</span>                  <span class="c">!&lt; Root path with slash</span>
<a name="ln-540"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">Step</span>                  <span class="c">!&lt; Force step number</span>
<a name="ln-541"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                              <span class="kd">::</span> <span class="n">hdferror</span>              <span class="c">!&lt; HDF5 error code</span>
<a name="ln-542"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                            <span class="kd">::</span> <span class="n">plist_id</span>              <span class="c">!&lt; HDF5 property list identifier </span>
<a name="ln-543"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span> <span class="k">allocatable</span>             <span class="kd">::</span> <span class="n">HDF5FileName</span>          <span class="c">!&lt; Name of the HDF5 file</span>
<a name="ln-544"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-545"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">)</span>                                 <span class="kd">::</span> <span class="n">start_time</span>
<a name="ln-546"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">)</span>                                 <span class="kd">::</span> <span class="n">end_time</span>
<a name="ln-547"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-548"></a><span class="cp">#endif</span>
<a name="ln-549"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">&gt;</span> <span class="n">HDF5_HANDLER_STATE_START</span><span class="p">)</span> <span class="c">! Was initialized</span>
<a name="ln-550"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-551"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-552"></a>        <span class="n">start_time</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_wtime</span><span class="p">()</span>
<a name="ln-553"></a><span class="cp">#endif</span>
<a name="ln-554"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span><span class="p">)</span> <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">CloseFile</span><span class="p">()</span>
<a name="ln-555"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Action</span> <span class="o">=</span> <span class="n">Action</span>
<a name="ln-556"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Prefix</span> <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">FilePrefix</span><span class="p">))</span>
<a name="ln-557"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Path</span>   <span class="o">=</span> <span class="s1">&#39;./&#39;</span>
<a name="ln-558"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">Path</span><span class="p">))</span> <span class="n">this</span><span class="p">%</span><span class="n">Path</span>   <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">Path</span><span class="p">))</span><span class="o">//</span><span class="s1">&#39;/&#39;</span>
<a name="ln-559"></a>        <span class="n">this</span><span class="p">%</span><span class="n">Filename</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetHDF5FileName</span><span class="p">(</span><span class="n">Step</span><span class="o">=</span><span class="n">Step</span><span class="p">)</span>
<a name="ln-560"></a>        <span class="k">call </span><span class="n">H5open_f</span><span class="p">(</span><span class="n">error</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-561"></a>        <span class="k">call </span><span class="n">H5pcreate_f</span><span class="p">(</span><span class="n">H5P_FILE_ACCESS_F</span><span class="p">,</span> <span class="n">prp_id</span><span class="o">=</span><span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span>
<a name="ln-562"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
<a name="ln-563"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">is_Parallel</span><span class="p">())</span> <span class="p">&amp;</span>
<a name="ln-564"></a>            <span class="k">call </span><span class="n">H5pset_fapl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span>                       <span class="p">&amp;</span>
<a name="ln-565"></a>                                    <span class="n">comm</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">get_comm</span><span class="p">(),</span> <span class="p">&amp;</span>
<a name="ln-566"></a>                                    <span class="n">info</span>   <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">get_info</span><span class="p">(),</span> <span class="p">&amp;</span>
<a name="ln-567"></a>                                    <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-568"></a><span class="cp">#endif</span>
<a name="ln-569"></a>
<a name="ln-570"></a>        <span class="k">select case</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">action</span><span class="p">)</span>
<a name="ln-571"></a>            <span class="k">case</span><span class="p">(</span><span class="n">XDMF_ACTION_WRITE</span><span class="p">)</span>
<a name="ln-572"></a>                <span class="c">! If file already exists, file is opened with read-write </span>
<a name="ln-573"></a>                <span class="c">! access and new data overwrites existing data, destroying </span>
<a name="ln-574"></a>                <span class="c">! all prior content, i.e., file content is truncated upon</span>
<a name="ln-575"></a>                <span class="c">! opening. </span>
<a name="ln-576"></a>                <span class="c">! If file does not exist, it is created and opened with </span>
<a name="ln-577"></a>                <span class="c">! read-write access.</span>
<a name="ln-578"></a>                <span class="k">call </span><span class="n">H5fcreate_f</span><span class="p">(</span><span class="n">name</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileName</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-579"></a>                        <span class="n">access_flags</span>  <span class="o">=</span> <span class="n">H5F_ACC_TRUNC_F</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-580"></a>                        <span class="n">File_id</span>       <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileID</span><span class="p">,</span>                  <span class="p">&amp;</span>
<a name="ln-581"></a>                        <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                     <span class="p">&amp;</span>
<a name="ln-582"></a>                        <span class="n">creation_prp</span>  <span class="o">=</span> <span class="n">H5P_DEFAULT_F</span><span class="p">,</span>                <span class="p">&amp;</span>
<a name="ln-583"></a>                        <span class="n">access_prp</span>    <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
<a name="ln-584"></a>            <span class="k">case</span><span class="p">(</span><span class="n">XDMF_ACTION_READ</span><span class="p">)</span>
<a name="ln-585"></a>                <span class="c">! Existing file is opened with read-only access. If file </span>
<a name="ln-586"></a>                <span class="c">! does not exist, H5Fopen fails.</span>
<a name="ln-587"></a>                <span class="k">call </span><span class="n">H5fopen_f</span><span class="p">(</span><span class="n">name</span>  <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileName</span><span class="p">,</span>                 <span class="p">&amp;</span>
<a name="ln-588"></a>                        <span class="n">access_flags</span> <span class="o">=</span> <span class="n">H5F_ACC_RDONLY_F</span><span class="p">,</span>              <span class="p">&amp;</span>
<a name="ln-589"></a>                        <span class="n">File_id</span>      <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileID</span><span class="p">,</span>                   <span class="p">&amp;</span>
<a name="ln-590"></a>                        <span class="n">hdferr</span>       <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                      <span class="p">&amp;</span>
<a name="ln-591"></a>                        <span class="n">access_prp</span>   <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
<a name="ln-592"></a>        <span class="k">end select</span>
<a name="ln-593"></a>
<a name="ln-594"></a><span class="k">        call </span><span class="n">h5pclose_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-595"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-596"></a>        <span class="n">end_time</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_wtime</span><span class="p">()</span>
<a name="ln-597"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;[OpenFile] Filename: &#39;</span><span class="o">//</span><span class="n">this</span><span class="p">%</span><span class="n">Filename</span><span class="o">//</span><span class="p">&amp;</span>
<a name="ln-598"></a>                       <span class="s1">&#39; Time: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span><span class="n">n</span><span class="o">=</span><span class="n">end_time</span><span class="o">-</span><span class="n">start_time</span><span class="p">)))</span>
<a name="ln-599"></a><span class="cp">#endif</span>
<a name="ln-600"></a><span class="cp">#endif</span>
<a name="ln-601"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span>
<a name="ln-602"></a>    <span class="k">end subroutine </span><span class="n">hdf5_handler_OpenFile</span>
<a name="ln-603"></a>
<a name="ln-604"></a>
<a name="ln-605"></a>    <span class="k">subroutine </span><span class="n">hdf5_handler_CloseFile</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-606"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-607"></a>    <span class="c">!&lt; Close a HDF5 file</span>
<a name="ln-608"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-609"></a>        <span class="k">class</span><span class="p">(</span><span class="n">hdf5_handler_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                  <span class="c">!&lt; HDF5 handler type</span>
<a name="ln-610"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                         <span class="kd">::</span> <span class="n">hdferror</span>              <span class="c">!&lt; HDF5 error code</span>
<a name="ln-611"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-612"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">)</span>                            <span class="kd">::</span> <span class="n">start_time</span>
<a name="ln-613"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">)</span>                            <span class="kd">::</span> <span class="n">end_time</span>
<a name="ln-614"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-615"></a><span class="cp">#endif</span>
<a name="ln-616"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">HDF5_HANDLER_STATE_OPEN</span><span class="p">)</span>
<a name="ln-617"></a>
<a name="ln-618"></a><span class="cp">#ifdef ENABLE_HDF5</span>
<a name="ln-619"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-620"></a>        <span class="n">start_time</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_wtime</span><span class="p">()</span>
<a name="ln-621"></a><span class="cp">#endif</span>
<a name="ln-622"></a>        <span class="k">call </span><span class="n">H5Fclose_f</span><span class="p">(</span><span class="n">file_id</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">FileID</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<a name="ln-623"></a>        <span class="k">call </span><span class="n">H5close_f</span><span class="p">(</span><span class="n">error</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<a name="ln-624"></a><span class="cp">#ifdef PRINT_IO_TIMES</span>
<a name="ln-625"></a>        <span class="n">end_time</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_wtime</span><span class="p">()</span>
<a name="ln-626"></a>        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;[CloseFile] Filename: &#39;</span><span class="o">//</span><span class="n">this</span><span class="p">%</span><span class="n">Filename</span><span class="o">//</span><span class="p">&amp;</span>
<a name="ln-627"></a>                       <span class="s1">&#39; Time: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span><span class="n">n</span><span class="o">=</span><span class="n">end_time</span><span class="o">-</span><span class="n">start_time</span><span class="p">)))</span>
<a name="ln-628"></a><span class="cp">#endif</span>
<a name="ln-629"></a><span class="cp">#endif</span>
<a name="ln-630"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">HDF5_HANDLER_STATE_CLOSE</span>
<a name="ln-631"></a>    <span class="k">end subroutine </span><span class="n">hdf5_handler_CloseFile</span>
<a name="ln-632"></a>
<a name="ln-633"></a><span class="k">end module </span><span class="n">hdf5_handler</span>
</pre></div>

    </section>
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div>
  <div id="allfiles-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>